Programmable logic controllers (PLC's) are commonly used in process control technology. As a part of process control, a PLC is used to monitor input signals from a variety of input points (input sensors), which report events and conditions occurring in a controlled process. A control program stored in memory of an operating system within the PLC enhances the PLC operating system by creating an environment in which other programs are run. Usually one of these programs in concert with the control program instructs the PLC what actions to take upon encountering particular input signals or conditions. For example, the PLC can monitor input conditions such as motor speed, temperature, pressure, volumetric flow and the like. The PLC can issue output signals to speed up or slow down a conveyer, rotate the arm of a robot, open or close a relay, raise or lower temperature as well as numerous other control functions. Input and outpoint points and related devices, signals, conditions and processes are generally referred to as “I/O” in the industry.
“Soft PLC” programs allow a high-end computer, often with multiple processors, to simulate the operation of a special purpose central control computer. Such a soft PLC program functions as a central processing unit (CPU) to execute programs written in, for example, relay-ladder language to control plug-in I/O modules communicating control signals between the computer and the controlled process.
The conventional Soft PLC supports System Function Calls (SFC's), which allow the user to upload customized functions to the PLC. SFC's are created by Siemens® development groups and are uploaded, downloaded, deleted and copied to memory of the PLC. FIG. 1 shows a system 300 in which an SFC is being downloaded, for instance, to the PLC. SFC's do not necessarily require any user data, although allocation of system data may be provided. SFC's downloaded to the PLC become part of the operating system of that PLC. The PLC reports the existence of SFC's in the appropriate directory communication functions.
Despite the flexibility provided by SFC's, there is a strong desire in today's market for more flexible access to the memory of the PLC for third party devices and software. This accessibility needs to be able to be triggered based on input from the external entity to the PLC and needs to be asynchronous in nature. Therefore, there is a need not yet met by conventional systems or methods to provide PLC data on demand.